以上所有的主题描述如何使用XAML标记添加一个标记。您可能有一个项目需要在代码中添加一个标记。
首先,你需要创建一个新的ChartPanel:
C# |
拷贝代码
|
---|---|
var pnl = new ChartPanel(); |
一旦您添加了一个新的ChartPanel,您将添加一个新的ChartPanelObject并设置其对齐属性:
C# |
拷贝代码
|
---|---|
var obj = new ChartPanelObject() { HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Bottom }; |
下一步,您将添加一个边框元素:
C# |
拷贝代码
|
---|---|
var bdr = new Border() { Background = new SolidColorBrush(Colors.Green) { Opacity = 0.4 }, BorderBrush = new SolidColorBrush(Colors.Green), BorderThickness = new Thickness(1, 1, 3, 3), CornerRadius = new CornerRadius(6, 6, 0, 6), Padding = new Thickness(3) }; |
添加一个包含两个TextBlock控件的StackPanel元素。请注意,绑定源是您的ChartPanelObject:
C# |
拷贝代码
|
---|---|
var sp = new StackPanel(); var tb1 = new TextBlock(); var bind1 = new Binding(); bind1.Source = obj; bind1.StringFormat = "x={0:#.##}"; bind1.Path = new PropertyPath("DataPoint.X"); tb1.SetBinding(TextBlock.TextProperty, bind1); var tb2 = new TextBlock(); var bind2 = new Binding(); bind2.Source = obj; bind2.StringFormat = "y={0:#.##}"; bind2.Path = new PropertyPath("DataPoint.Y"); tb2.SetBinding(TextBlock.TextProperty, bind2); sp.Children.Add(tb1); sp.Children.Add(tb2); bdr.Child = sp; |
设置ChartPanelObject的Content,DataPoint,以及Aciton属性,接下来添加该ChartPanelObject至ChartPanel。最后一行代码将图层集合添加到图表控件中。
C# |
拷贝代码
|
---|---|
obj.Content = bdr;
obj.DataPoint = new Point();
obj.Action = ChartPanelAction.MouseMove;
pnl.Children.Add(obj);
chart.View.Layers.Add(pnl);
|
最后一行代码,您需要设置Attach属性:
C# |
拷贝代码
|
---|---|
obj.Attach = ChartPanelAttach.MouseMove; }; } } |
在这个主题中,您已经创建了一个图表标记,将跟随您的鼠标移动。